home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir43
/
med300.zip
/
CLMEM.A
next >
Wrap
Text File
|
1994-02-22
|
5KB
|
118 lines
module clmem
extrn F$StkChk
extrn _malloc
extrn _free
extrn _memmove
extrn _memset
extrn _memwset
segment CLMEM_TEXT(CODE,00048H) (*segment length = 0001EH*)
public CMalloc:
(*0000 55*) push bp
(*0001 BD 08 00*) mov bp,8
(*0004 9A 00 00 00 00*) call far F$StkChk
(*0009 8B EC*) mov bp,sp
(*000B 4C*) dec sp
(*000C 4C*) dec sp
(*000D 89 46 FE*) mov [bp][-2],ax
(*0010 8B 46 FE*) mov ax,[bp][-2]
(*0013 9A 00 00 00 00*) call far _malloc
(*0018 90*) nop
(*0019 90*) nop
(*001A 8B E5*) mov sp,bp
(*001C 5D*) pop bp
(*001D CB*) ret far 0
segment CLMEM_TEXT(CODE,00048H) (*segment length = 00023H*)
public CFree:
(*0000 55*) push bp
(*0001 BD 0A 00*) mov bp,0AH
(*0004 9A 00 00 00 00*) call far F$StkChk
(*0009 8B EC*) mov bp,sp
(*000B 83 EC 04*) sub sp,4
(*000E 89 46 FC*) mov [bp][-4],ax
(*0011 89 5E FE*) mov [bp][-2],bx
(*0014 C4 46 FC*) les ax,[bp][-4]
(*0017 8C C3*) mov bx,es
(*0019 9A 00 00 00 00*) call far _free
(*001E 90*) nop
(*001F 8B E5*) mov sp,bp
(*0021 5D*) pop bp
(*0022 CB*) ret far 0
segment CLMEM_TEXT(CODE,00048H) (*segment length = 00035H*)
public CMemMove:
(*0000 55*) push bp
(*0001 BD 10 00*) mov bp,10H
(*0004 9A 00 00 00 00*) call far F$StkChk
(*0009 8B EC*) mov bp,sp
(*000B 83 EC 08*) sub sp,8
(*000E 1E*) push ds
(*000F 89 4E FC*) mov [bp][-4],cx
(*0012 89 56 FE*) mov [bp][-2],dx
(*0015 89 46 F8*) mov [bp][-8],ax
(*0018 89 5E FA*) mov [bp][-6],bx
(*001B FF 76 06*) push word [bp][6]
(*001E C5 46 F8*) lds ax,[bp][-8]
(*0021 C4 4E FC*) les cx,[bp][-4]
(*0024 8C C2*) mov dx,es
(*0026 8C DB*) mov bx,ds
(*0028 9A 00 00 00 00*) call far _memmove
(*002D 90*) nop
(*002E 1F*) pop ds
(*002F 8B E5*) mov sp,bp
(*0031 5D*) pop bp
(*0032 CA 02 00*) ret far 2
segment CLMEM_TEXT(CODE,00048H) (*segment length = 00033H*)
public CMemSet:
(*0000 55*) push bp
(*0001 BD 0E 00*) mov bp,0EH
(*0004 9A 00 00 00 00*) call far F$StkChk
(*0009 8B EC*) mov bp,sp
(*000B 83 EC 08*) sub sp,8
(*000E 89 56 FE*) mov [bp][-2],dx
(*0011 89 4E FC*) mov [bp][-4],cx
(*0014 89 46 F8*) mov [bp][-8],ax
(*0017 89 5E FA*) mov [bp][-6],bx
(*001A C4 5E F8*) les bx,[bp][-8]
(*001D 8B 46 FC*) mov ax,[bp][-4]
(*0020 8B 56 FE*) mov dx,[bp][-2]
(*0023 8B C8*) mov cx,ax
(*0025 8B C3*) mov ax,bx
(*0027 8C C3*) mov bx,es
(*0029 9A 00 00 00 00*) call far _memset
(*002E 90*) nop
(*002F 8B E5*) mov sp,bp
(*0031 5D*) pop bp
(*0032 CB*) ret far 0
segment CLMEM_TEXT(CODE,00048H) (*segment length = 00033H*)
public CMemWSet:
(*0000 55*) push bp
(*0001 BD 0E 00*) mov bp,0EH
(*0004 9A 00 00 00 00*) call far F$StkChk
(*0009 8B EC*) mov bp,sp
(*000B 83 EC 08*) sub sp,8
(*000E 89 56 FE*) mov [bp][-2],dx
(*0011 89 4E FC*) mov [bp][-4],cx
(*0014 89 46 F8*) mov [bp][-8],ax
(*0017 89 5E FA*) mov [bp][-6],bx
(*001A C4 5E F8*) les bx,[bp][-8]
(*001D 8B 46 FC*) mov ax,[bp][-4]
(*0020 8B 56 FE*) mov dx,[bp][-2]
(*0023 8B C8*) mov cx,ax
(*0025 8B C3*) mov ax,bx
(*0027 8C C3*) mov bx,es
(*0029 9A 00 00 00 00*) call far _memwset
(*002E 90*) nop
(*002F 8B E5*) mov sp,bp
(*0031 5D*) pop bp
(*0032 CB*) ret far 0
segment CLMEM_TEXT(CODE,00048H) (*segment length = 00000H*)
end